Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow users to disable version validation to downgrade clusters #5272

Merged
merged 7 commits into from
Jan 25, 2022

Conversation

pebrc
Copy link
Collaborator

@pebrc pebrc commented Jan 21, 2022

Fixes #5259

I tried to go with a different name for the annotation permissive-version-validation, but I am not happy yet because we are not permissive on all version validations only on the one that prevents downgrades. So maybe we should go back to the proposal in the original issue.

This is intended as a troubleshooting tool so I am going to only document it in the troubleshooting section.

I am currently aware of two use cases:

  1. violation of upgrade path: user upgraded to 8.0 from < 7.17 on an older version of ECK and is now stuck because 8.0 upgrades have to go through 7.17.
  2. user specified a non-existing version.

In both cases it should suffice to set the annotation and revert to the previous Elasticsearch version will get the user back into a working state.

@pebrc pebrc added >enhancement Enhancement of existing functionality v2.0.0 labels Jan 21, 2022
@pebrc pebrc marked this pull request as ready for review January 21, 2022 14:51
@barkbay
Copy link
Contributor

barkbay commented Jan 24, 2022

I tried to go with a different name for the annotation permissive-version-validation, but I am not happy yet because we are not permissive on all version validations only on the one that prevents downgrades.

What about disable-downgrade-validation ?

@pebrc
Copy link
Collaborator Author

pebrc commented Jan 24, 2022

What about disable-downgrade-validation ?

Sounds good to me. I changed it.

@pebrc
Copy link
Collaborator Author

pebrc commented Jan 24, 2022

I just retested on a new 8.0 snapshot and the nodes file a saw last week is no longer being created it seems. I am investigating what is going on but if so we can drop the last commit.

@pebrc
Copy link
Collaborator Author

pebrc commented Jan 24, 2022

I removed the instructions requiring the additional suspend step which is no longer necessary. I am still trying to understand what has changed in Elasticsearch but I guess it makes ECK users' life easier.

Copy link
Contributor

@barkbay barkbay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

pkg/controller/elasticsearch/driver/driver.go Outdated Show resolved Hide resolved
pkg/controller/elasticsearch/driver/driver.go Outdated Show resolved Hide resolved
@pebrc pebrc merged commit 4650e61 into elastic:main Jan 25, 2022
pebrc added a commit to pebrc/cloud-on-k8s that referenced this pull request Jan 25, 2022
…tic#5272)

Adds support for a new annotation called k8s.eck.elastic.co/disable-downgrade-validation as a troubleshooting tool to allow users that accidentally upgraded to the incorrect version to correct this mistake and go back to the previous version as long as Elasticsearch has not booted up and converted the data directory. This can be the case if the user upgraded to a version of Elasticsearch that does not exist or that refuses to boot because it is not on the upgrade path from the current version.
pebrc added a commit that referenced this pull request Jan 25, 2022
… (#5280)

Adds support for a new annotation called k8s.eck.elastic.co/disable-downgrade-validation as a troubleshooting tool to allow users that accidentally upgraded to the incorrect version to correct this mistake and go back to the previous version as long as Elasticsearch has not booted up and converted the data directory. This can be the case if the user upgraded to a version of Elasticsearch that does not exist or that refuses to boot because it is not on the upgrade path from the current version.
fantapsody pushed a commit to fantapsody/cloud-on-k8s that referenced this pull request Feb 7, 2023
…tic#5272)

Adds support for a new annotation called k8s.eck.elastic.co/disable-downgrade-validation as a troubleshooting tool to allow users that accidentally upgraded to the incorrect version to correct this mistake and go back to the previous version as long as Elasticsearch has not booted up and converted the data directory. This can be the case if the user upgraded to a version of Elasticsearch that does not exist or that refuses to boot because it is not on the upgrade path from the current version.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>enhancement Enhancement of existing functionality v2.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow users to force a downgrade
3 participants